<body>
	Provides classes for redundancy elimination. A redundancy elimination
	algorithm is an algorithm that operates on a dominance chart and deletes
	splits (and therefore solved forms) from it, in such a way that the set 
	of equivalence classes of the configurations is maintained. At this
	point, we have implemented two different redundancy elimination
	algorithms: the first one is based on <i>permutable splits</i> and
	described in Koller &amp; Thater, ICoS workshop 2006; the second,
	more powerful, one is based on <i>eliminable splits</i> and described
	in an unpublished paper by Koller and Thater.
	<p/>
	
	The classes in this package can be grouped as follows:
	<ul>
		<li>classes for <i>specifying the equation systems</i> on
			which the equivalence relation used by the elimination
			algorithm is based: {@link de.saar.chorus.domgraph.equivalence.Equation},
			{@link de.saar.chorus.domgraph.equivalence.EquationSystem},
			{@link de.saar.chorus.domgraph.equivalence.FragmentWithHole};
		</li>
		<li>classes for the <i>redundancy elimination algorithms</i> themselves:
		{@link de.saar.chorus.domgraph.equivalence.RedundancyElimination} (the
			abstract base class),
			{@link de.saar.chorus.domgraph.equivalence.PermutabilityRedundancyElimination},
			and
			{@link de.saar.chorus.domgraph.equivalence.IndividualRedundancyElimination}.
		</li>
		<li>classes for <i>integrating redundancy elimination into the solver</i>:
			{@link de.saar.chorus.domgraph.equivalence.RedundancyEliminationSplitSource}.			
		</li>
	</ul>
	
	A redundancy elimination object is passed an <code>EquationSystem</code>
	as an argument. It can then be used in two different ways. You can either
	apply its {@link de.saar.chorus.domgraph.equivalence.RedundancyElimination#eliminate(Chart)}
	method on an existing dominance chart; this will delete the redundant
	splits from the chart. Or alternatively you can
	use it to construct a <code>RedundancyEliminationSplitSource</code>,
	which you can pass to a <code>ChartSolver</code> in order to compute
	a chart which only contains irredundant splits in the first place.
</body>